Broadcast video sources (i.e. TV networks, special interest channels, etc.) schedule their air time with two types of information: "programming" for the purpose of informing or entertaining, and "avails" for the purpose of advertising. The avails may occupy roughly 20-25% of the total transmitting time, and are usually divided into smaller intervals of 15, 30, or 60 seconds. While the video sources usually know what programming is to be sent during a specific interval (i.e. Seinfeld, Thursdays at 9:00 pm), and usually also know the number and timing of avails, there are some types of events (i.e. sporting, live broadcasts) where these are not precisely known.
Information about avails is provided to the sales department of local stations which sell the commercial time. The sales department may have many individuals trying to sell the same avail to different prospective clients, once at the national level, and multiple times for each local distribution system (i.e. cable head-end or local broadcast station.) If an avail has not been sold locally, the national spot is shown.
Once sold, the content must be produced and provided to the operator of the distribution system. The content must be made available to the local distribution feed during each time it is scheduled.
The timing of the cutover for a single commercial is illustrated in FIG. 1. Approximately 5 seconds before the beginning of the commercial break, a pre-roll cue is issued over a signaling channel. At this time, a video playback device begins to synchronize its output with that of the network; a latency of several seconds is normal for analog playback decks. A start cue arrives at the beginning of the commercial, indicating that the network has faded to black and a switch should select the local source. Note that the network feed may continue to supply national advertising which is not sent to the local distribution system. At the conclusion of the ad, a return cue switches the video source back to the network, and the local playback deck stops briefly afterward.
Commercials and breaks are not always exact multiples of 30 seconds. It is therefore possible for the local ad to end slightly before or after the network break. It is up to the local system to establish a policy whether to return immediately upon receipt of the cue, or whether to allow the local commercial to air in its entirety.
Commercial breaks typically allow more than one local ad. Depending on the number of ads sold for a given time slot, the system may return to the network feed early--after the local spots have been played--or it may continue to run local commercials for the duration of the break. The video playback device not only must often serve more than one ad, but often may also be shared among multiple channels. The server must therefore have enough capacity to hold all local ads currently airing, and must be able to access a predefined set of ads for an upcoming commercial break within a few seconds of the first cue.
A typical analog ad insertion system of the prior art is illustrated in FIG. 2. The broadcast source, 200, for example, is an RF channel analog network feed received from a satellite, which includes cue tones modulated on a side carrier. The receiver/demultiplexer 210 demodulates the analog video from the RF carrier, and demodulates the signaling tones from the side carrier and generates control information such as contact closures which are passed to an analog matrix switch 220. The matrix switch is an intelligent device which controls an external tape library/robot system and which knows which commercials are to be played during a given break. Commercial systems utilize the same switch and tape library to support multiple channels.
As discussed above, the preroll cue 240 tone is detected in the matrix switch prepared for the start of the advertisement. When the start cue is detected (250), the analog output 230 is switched from the network feed originating through receiver/demultiplexer 210 to the local analog matrix switch where the advertisement is provided. Line 260 between the receiver/demultiplexer and the local analog matrix switch indicates that the two devices are synchronized so that when switch 270 is activated to switch the programming source, the transition can be made without a loss of synchronization at the receiver.
For use with a digital video dial tone network, the output of the analog system 230 must be encoded by a real-time encoder (not shown). There is a slight possibility that a commercial would suffer from unpredicted distortions during some playbacks through the real-time encoder. Of greater concern is the constant wear on tapes and tape players which require constant human maintenance to avoid degraded quality.
FIG. 3 illustrates an end-to-end view of a video distribution system over an analog network of the prior art. Video programming is provided by a digital video-on-demand server 300, the output of which, because the network is analog, is converted to analog in digital-to-analog converter (DAC) 310. The digital output of the digital VOD server can be, for example, in MPEG-2 format over ATM. The output of DAC 310 is fed to analog network 330 which also receives an analog feed 320 from, for example, satellite receiving equipment. The output of analog network 330 is fed to circuitry, such as shown in FIG. 2, where local analog advertising is selectively inserted in response to cue tones. The output of the FIG. 2 circuitry is fed to analog digital converter, (ADC) 350 which converts back to the digital format for display on a digital display device 360.
Since modern production studios are utilized in the production of advertisements, the ads are created in digital form. The multiple conversions from digital to analog and back to digital are undesirable. Such conversions can affect reliability and image quality. One cannot merely relocate block 340 to the left of the DAC 310 because MPEG and ATM streams cannot be switched at arbitrary points.
FIG. 4 illustrates a variation on the previous approach. Analog cable operators have recognized the tape maintenance drawbacks, so some vendors have begun substituting digital video servers 400 with analog outputs for the tape libraries in FIG. 2. While the commercials reside on the disks in digital form, a decoder 410 is employed which provides a conventional analog output.
Digital servers respond more quickly to cue signals, allowing greater flexibility for unanticipated avails. However, because the analog switch output must be fed to the digital network input, commercials will received two concatenated lossy encoding/decoding operations.
The transmission of programming, in particular, video programming where wide bandwidth is required, has been known to include a variety of compression techniques. Modern decoders of compressed video information will adapt their operating modes in dependence upon the properties of the incoming signal. Video programming is often distributed in multiplexed format which requires that either the decoder or an associated demultiplexer be aware of where in the multiplexed stream particular programs are located.
One of the widely accepted standards for the distribution of video programming is that promulgated by the Organisation Internationale de Normalisation (International Organization for Standardization) under Standard ISO/IEC JTC1/SC29/WG11 entitled "Coding of Moving Pictures and Associated Audio". The particular working group responsible for that standardization effort is also known as the Motion Picture Experts Group.
MPEG compression and decompression standards have been evolving. The current advanced version is generally known as MPEG-2. The MPEG-2 standard is hereby incorporated by reference in its entirety. In the language of the MPEG-2 standard, a "program" is comprised of typically a source of video and a source of audio which share a common time base. One or more elementary digital streams (e.g. video or audio), as well as other data, are combined into single or multiple streams which are suitable for storage or transmission. System coding follows the syntactical and semantic rules imposed by the MPEG-2 specification and provides information to enable synchronized decoding without either overflow or underflow of decoder buffers over a wide range of retrieval or receipt conditions.
Under the MPEG-2 standard, an incoming individual video signal and related audio signal are encoded and packetized into a respective Video Packetized Elementary Stream (PES) and Audio Packetized Elementary Stream. The video and audio PES from one or more programs are combined into a transport stream for transmission or storage.
The transport stream is designed for use in environments where errors are likely, such as storage or transmission in lossy or noisy media. Transport stream packets are 188 bytes in length. Transport stream packets are generally divided into two sections. The first section constitutes header information and the second constitutes payload. Header information includes, inter alia, a synchronization byte, transport scrambling control and a thirteen bit program identification (PID) indication. PID value 0 is reserved as an indication that the packet includes program association table data. PID value 1 is reserved for conditional access such as encryption. PID value 0.times.1FFF is reserved for administrative (no-op) packets utilized for synchronizing the link. Other program identification numbers are utilized to identify transport packets with the program source from which they originate.
FIG. 5 depicts a transport stream utilizing the MPEG-2 standard. As indicated above, each transport packet in the transport stream carries a program identification number (PID). PID 0 carries program association table information. As illustrated in FIG. 5, a program association table maps a particular program source with the location of the PID associated with a program map related to that source. Thus, the program association table defines the location of program maps for each source of programming in the transport stream. The program map for CBS is found in PID 132; the program map for NBC is found in PID 87 and so forth.
The program map for CBS illustrated in FIG. 5 as that associated with PID 132 identifies the PID numbers for the packetized elementary streams (PES) for the video and audio channels associated with the program. One should note at this time that more than two PID's may be associated with a program. For example, there could be a data channel associated with the program which would include data for closed captioning for the hearing impaired. There could be a number of audio elementary streams for, for example, respective different languages. Thus the programming map provides some flexibility beyond that required for merely associating a single video and audio elementary streams.
Once the program map is known, the program decoder can be set to extract the desired elementary streams (e.g PID 56 in FIG. 5 and PID 74 shown in FIG. 5) for decoding and presentation. Transport packets of PID=56 represents the video elementary stream associated with CBS' MPEG video system. Within CBS' video elementary stream are video sequence headers which define things like frame rate, resolution, and the coordinates on the screen where display of the image should begin. Such coordinates are useful, for example, in defining pictures within a picture when multiple pictures are superimposed. After the video header sequence, the normal video syntax occurs which, in the case of MPEG, includes the normal frames associated with video compression such as I frames and B frames used in MPEG.
The elementary stream with PID=74 is the audio stream associated with the video shown in transport packets with PID=56 as defined in program map at PID=132.
A typical MPEG-2 transport demultiplexer and decoder is shown in FIG. 6. The data link specific interface 610 converts the incoming data link format (e.g. optical fiber encoded data) to a form (e.g. electrical) for demultiplexing and decoding. Transport stream demultiplexer 620 monitors the PID's of the incoming transport stream packets to identify those selected for decoding and routes those to respective video (630) and audio (640) decoders. Since the video and audio associated with the same program are derived from a common clock, clock control 650 drives both decoders. Note that the transport stream demultiplexer includes functionality, such as that described in connection with the description of the transport stream of FIG. 1, necessary to identify the particular PID's needed to extract information from the transport stream to present the desired program to the user.
The Motion Picture Experts Group (MPEG) is believed to be working on additional standards which may be implemented in the fully digital network environment. As of now, however, there are no products available to implement ad insertion in fully digital environment.
There are a number of problems with the prior art, Analog recorders are subject to serious wear and tear which results in reduced reliability. In addition, analog recorders do not match the digital end devices and the digital production facilities used to create advertisements for insertion in programming to be delivered to an end user. In addition, the spin up latency of analog recorders is slow. Excessive digital-to-analog followed by analog-to-digital conversion results in a degradation of image quality from the original.
Even in a fully digital system as currently implementable, when attempting to switch programming from one source to another, the switching tends to introduce interference, to cause loss of synchronization, to cause excessive retransmissions, or to freeze the decoder by switching in the middle of a packet or in the middle of a frame. These result in error conditions in the decoder and/or in unpredictable screen displays.
Further, in the prior art, there is generally one device per network feed. Some network feed ad insertion techniques of the prior art do not provide a smooth transition from the network feed to the advertisements and back.
Accordingly, one advantage of the invention is avoiding the problems of the prior art by providing digital ad insertion techniques which permit a switch from one program source to another smoothly without excessive analog to digital conversion and back and without the wear and tear of analog recorders and their accompanying slow spin up latency.
Another advantage of the invention is provision of digital ad insertion in which switching occurs predictably at the end of packets and frames so that undesired error states are not encountered.
Another advantage of the invention is in the use of one set of hardware to service multiple lines and to provide correct and smooth transition from network feeds to advertisement sources without the difficulties of the prior art.
Another advantage of the invention lies in the implementation in a smart communications interface board with simple software enhancements.